package com.yanqu.road.entity.log;

import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.Date;

@FieldTypeAnnotation(tableName = "t_l_ck_seacraft_pirate_riot_chapter_reward", desc = "海盗之乱奖励日志", autoSave = true, uploadCk = true)
public class LogSeacraftPirateRiotChapterReward extends ServerBaseLog{

    @FieldTypeAnnotation(desc = "玩家ID",isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "活动ID",isIndex = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "关卡ID")
    private int chapterId;
    @FieldTypeAnnotation(desc = "类型：1通关，2扫荡，3Boss关奖励，4主动放弃，5被团灭，6自动通关")
    private int type;
    @FieldTypeAnnotation(desc = "次数")
    private int times;
    @FieldTypeAnnotation(desc = "战备等级")
    private int equipLevel;
    @FieldTypeAnnotation(desc = "船员攻击力")
    private String attack;
    @FieldTypeAnnotation(desc = "船员血量")
    private String hp;
    @FieldTypeAnnotation(desc = "船员剩余血量")
    private String hp1;
    @FieldTypeAnnotation(desc = "总奖励")
    private String reward;


    public LogSeacraftPirateRiotChapterReward(long userId, int activityId, int chapterId, int type, int times, int equipLevel, String attack, String hp, String hp1, String reward) {
        this.userId = userId;
        this.activityId = activityId;
        this.chapterId = chapterId;
        this.type = type;
        this.times = times;
        this.equipLevel = equipLevel;
        this.attack = attack;
        this.hp = hp;
        this.hp1 = hp1;
        this.reward = reward;

    }

    public static LogSeacraftPirateRiotChapterReward newAutoPass(long userId, int activityId, int chapterId, int equipLevel, String attack, String hp, String hp1, String reward) {
        return new LogSeacraftPirateRiotChapterReward(
                userId, activityId, chapterId, 6, -1, equipLevel, attack, hp, hp1, reward
        );
    }

    public static LogSeacraftPirateRiotChapterReward newPass(long userId, int activityId, int chapterId, int equipLevel, String attack, String hp, String hp1, String reward) {
        return new LogSeacraftPirateRiotChapterReward(
                userId, activityId, chapterId, 1, -1, equipLevel, attack, hp, hp1, reward
        );
    }

    public static LogSeacraftPirateRiotChapterReward newFast(long userId, int activityId, int chapterId, int times, String reward) {
        return new LogSeacraftPirateRiotChapterReward(
                userId, activityId, chapterId, 2, times, -1, "-1", "-1", "-1", reward
        );
    }

    public static LogSeacraftPirateRiotChapterReward newFirst(long userId, int activityId, int chapterId, String reward) {
        return new LogSeacraftPirateRiotChapterReward(
                userId, activityId, chapterId, 3, -1, -1, "-1", "-1", "-1", reward
        );
    }

    public static LogSeacraftPirateRiotChapterReward newCancel(long userId, int activityId, int chapterId, int equipLevel, String attack, String hp, String hp1, String reward) {
        return new LogSeacraftPirateRiotChapterReward(
                userId, activityId, chapterId, 4, -1, equipLevel, attack, hp, hp1, reward
        );
    }

    public static LogSeacraftPirateRiotChapterReward newDead(long userId, int activityId, int chapterId, int equipLevel, String attack, String hp, String hp1, String reward) {
        return new LogSeacraftPirateRiotChapterReward(
                userId, activityId, chapterId, 5, -1, equipLevel, attack, hp, hp1, reward
        );
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public int getChapterId() {
        return chapterId;
    }

    public void setChapterId(int chapterId) {
        this.chapterId = chapterId;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public int getTimes() {
        return times;
    }

    public void setTimes(int times) {
        this.times = times;
    }

    public int getEquipLevel() {
        return equipLevel;
    }

    public void setEquipLevel(int equipLevel) {
        this.equipLevel = equipLevel;
    }

    public String getAttack() {
        return attack;
    }

    public void setAttack(String attack) {
        this.attack = attack;
    }

    public String getHp() {
        return hp;
    }

    public void setHp(String hp) {
        this.hp = hp;
    }

    public String getHp1() {
        return hp1;
    }

    public void setHp1(String hp1) {
        this.hp1 = hp1;
    }

    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }
}
